WPF自定义控件与样式(1) |
您所在的位置:网站首页 › wpf menuitem icon删除 › WPF自定义控件与样式(1) |
一.图标字体 图标字体在网页开发上运用非常广泛,具体可以网络搜索了解,网页上的运用有很多例子,如Bootstrap。但在C/S程序中使用还不多,字体图标其实就是把矢量图形打包到字体文件里,就像使用一般外置字体一样的使用,因此Winform、WPF中都是可以用的。 在我们多个WPF项目中广泛使用了图标字体,包括自定义控件、自定义样式、模板等。总结下: 网上开源字体图标很多,很容易获取,项目开发中需要的绝大部分图标都可以找到,非常方便,推荐 阿里巴巴开源字体; 字体文件非常小,比使用png等图片文件要小很多; 比使用普通图片资源性能要好很多; 和普通字体一样,是矢量的,可任意放大缩小(设置字体大小)不失真。 唯一的缺点就是颜色的设置有局限,只能用单色,或者使用画刷实现渐变色等效果。不过这一点貌似问题也不大。二.WPF中如何使用字体图标 2.1 字体文件加入到项目资源 下载字体文件(参考第三节),添加到项目中,并设置生成操作为"Resource",如下图: 2.2 定义样式 定义样式,使用TextBlock作为图标显示的容器,因此定义一个TextBlock的样式即可,如下所示。其中“SK2015” 为字体名称,如3.2中的图示,可以通过“编辑项目”修改字体名称。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 172.3 XAML使用示例 使用就很简单了,第一种在XAML中使用,如下图,Text的值可以参考3.2中的demo.html,它是字符的Unicode编码。 效果: 直接使用字符编码可能不好记,web开发中会为每个字体图标定义一个好记的名称,如。他是利用css定义的样式实现的,在WPF中当然也是可以实现的,为每个字体图标单独定义Style即可。只是我觉得没有必要,这样也挺简单的,有网页demo.html可以对照。 2.4 C#代码使用示例 C#代码唯一不一样的,就是对Unicode字符编码的使用不一样,如: //代码设置字体图标 this.ticon1.Text = "\ue616"; this.ticon2.Text = "\ue615";效果: 三 .如何下载字体文件 3.1 下载网上的开源字体库 如Font-Awesome(http://fortawesome.github.io/Font-Awesome/),类似的开源字体库有很多,提供的图标比较丰富,但不容易扩展和修改。 3.2 Iconfont-阿里巴巴矢量图标库 地址:http://www.iconfont.cn/ 提供了大量的字体图标(包括网友共享的),可以选择需要的字体,然后打包到一个字体文件,且可以随意修改字符的编码、字体名称等,真的是一个良心的开源项目。 收集并下载图标字体库,如下图。 下载后,如下图,其中*.ttf就是我们需要的字体文件,其他是网页使用需要的,demo.html可以作为图例参考,demo.html内容同上图类似。 附录:参考引用 做小图标还用sprite图?你out了!史上最简单易懂iconfont使用教程 学习WPF——使用Font-Awesome图标字体 系列文章目录 WPF自定义控件与样式(1)-矢量字体图标(iconfont) WPF自定义控件与样式(2)-自定义按钮FButton WPF自定义控件与样式(3)-TextBox & RichTextBox & PasswordBox样式、水印、Label标签、功能扩展 WPF自定义控件与样式(4)-CheckBox/RadioButton自定义样式 WPF自定义控件与样式(5)-Calendar/DatePicker日期控件自定义样式及扩展 WPF自定义控件与样式(6)-ScrollViewer与ListBox自定义样式 WPF自定义控件与样式(7)-列表控件DataGrid与ListView自定义样式 WPF自定义控件与样式(8)-ComboBox与自定义多选控件MultComboBox WPF自定义控件与样式(9)-树控件TreeView与菜单Menu-ContextMenu WPF自定义控件与样式(10)-进度控件ProcessBar自定义样 WPF自定义控件与样式(11)-等待/忙/正在加载状态-控件实现 WPF自定义控件与样式(12)-缩略图ThumbnailImage /gif动画图/图片列表 WPF自定义控件与样式(13)-自定义窗体Window & 自适应内容大小消息框MessageBox WPF自定义控件与样式(14)-轻量MVVM模式实践 WPF自定义控件与样式(15)-终结篇
版权所有,文章来源:http://www.cnblogs.com/anding 个人能力有限,本文内容仅供学习、探讨,欢迎指正、交流。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |